/*******************************************************************************
 * Copyright (c) 2010 liw.
 * All rights reserved. 
 * 
 * This file is part of VanBus.
 * 
 *     VanBus is free software: you can redistribute it and/or modify
 *     it under the terms of the GNU General Public License as published by
 *     the Free Software Foundation, either version 3 of the License, or
 *     (at your option) any later version.
 * 
 *     VanBus is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
 * 
 *     You should have received a copy of the GNU General Public License
 *     along with VanBus.  If not, see <http://www.gnu.org/licenses/>.
 * Contributors:
 *     liw - initial API and implementation
 ******************************************************************************/
package org.niclab.vanbus.activity;

import java.util.prefs.PreferenceChangeEvent;
import java.util.prefs.PreferenceChangeListener;

import org.niclab.vanbus.R;

import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceCategory;
import android.preference.Preference.OnPreferenceChangeListener;
import android.text.InputType;
import android.util.Log;

public class SettingsActivity extends PreferenceActivity{
	
	@Override
	public void onCreate(Bundle savedInstanceState){
		
		super.onCreate(savedInstanceState);
		
		getPreferenceManager().setSharedPreferencesName(getString(R.string.pref_name));
		getPreferenceManager().setSharedPreferencesMode(MODE_PRIVATE);
		
		addPreferencesFromResource(R.xml.preferences);
		
		initializeOnlineMode();
		initializeScheduleUpdate();
		
	}
	
	
	private void initializeScheduleUpdate() {
		EditTextPreference edit = (EditTextPreference) findPreference(getString(R.string.pref_bus_schedule_update_key));
		edit.getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
		
		
	}


	private void initializeOnlineMode(){
		final ListPreference pref = (ListPreference) findPreference(getString(R.string.pref_online_mode_key));
		final PreferenceCategory automatic= (PreferenceCategory) findPreference(getString(R.string.pref_automatic_mode_group_key));
		
		if(!pref.getValue().equals(getResources().getStringArray(R.array.online_mode)[0])){
			automatic.setEnabled(false);
		}
		
		pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener(){

			public boolean onPreferenceChange(Preference preference, Object newValue){
				String mode=(String)newValue;
				if(!mode.equals(getResources().getStringArray(R.array.online_mode)[0])){
					automatic.setEnabled(false);
				}else
					automatic.setEnabled(true);
				return true;
			}
			
		});
		
	}


	
	

}
